diff options
Diffstat (limited to 'src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx')
| -rw-r--r-- | src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx new file mode 100644 index 0000000..2c670df --- /dev/null +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx @@ -0,0 +1,57 @@ +import { Column, Grid, Row } from '@umami/react-zen'; +import { WebsiteExpandedMenu } from '@/app/(main)/websites/[websiteId]/WebsiteExpandedMenu'; +import { useMessages, useNavigation } from '@/components/hooks'; +import { MobileMenuButton } from '@/components/input/MobileMenuButton'; +import { MetricsExpandedTable } from '@/components/metrics/MetricsExpandedTable'; + +export function WebsiteExpandedView({ + websiteId, + excludedIds = [], + onClose, +}: { + websiteId: string; + excludedIds?: string[]; + onClose?: () => void; +}) { + const { formatMessage, labels } = useMessages(); + const { + query: { view }, + } = useNavigation(); + + return ( + <Column height="100%" overflow="hidden" gap> + <Row id="expanded-mobile-menu-button" display={{ xs: 'flex', md: 'none' }}> + <MobileMenuButton> + {({ close }) => { + return ( + <Column padding="3"> + <WebsiteExpandedMenu excludedIds={excludedIds} onItemClick={close} /> + </Column> + ); + }} + </MobileMenuButton> + </Row> + <Grid columns={{ xs: '1fr', md: 'auto 1fr' }} gap="6" overflow="hidden"> + <Column + id="metrics-expanded-menu" + display={{ xs: 'none', md: 'flex' }} + width="240px" + gap="6" + border="right" + paddingRight="3" + overflow="auto" + > + <WebsiteExpandedMenu excludedIds={excludedIds} /> + </Column> + <Column id="metrics-expanded-table" overflow="hidden"> + <MetricsExpandedTable + title={formatMessage(labels[view])} + type={view} + websiteId={websiteId} + onClose={onClose} + /> + </Column> + </Grid> + </Column> + ); +} |